package com.yokead.util;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.CharsetUtil;
import com.alibaba.fastjson.JSON;

import java.io.IOException;

/**
 * json
 * Created by jiangzeyin on 2017/5/15.
 */
public class JsonUtil {

    public static Object readJson(String path) throws IOException {
        String json = FileUtil.readString(path, CharsetUtil.UTF_8);
        return JSON.parse(json);
    }

    public static void saveJson(String path, JSON json) throws IOException {
        // formatJson(json.toJSONString());
        String newsJson = JSON.toJSONString(json, true);
        FileUtil.writeString(newsJson, path, CharsetUtil.CHARSET_UTF_8);
    }

//    /**
//     * 格式化
//     *
//     * @param jsonStr
//     * @return
//     * @author lizhgb
//     * Date 2015-10-14 下午1:17:35
//     */
//    public static String formatJson(String jsonStr) {
//        if (null == jsonStr || "".equals(jsonStr))
//            return "";
//        StringBuilder sb = new StringBuilder();
//        char last = '\0';
//        char current = '\0';
//        int indent = 0;
//        for (int i = 0; i < jsonStr.length(); i++) {
//            last = current;
//            current = jsonStr.charAt(i);
//            switch (current) {
//                case '{':
//                case '[':
//                    sb.append(current);
//                    sb.append('\n');
//                    indent++;
//                    addIndentBlank(sb, indent);
//                    break;
//                case '}':
//                case ']':
//                    sb.append('\n');
//                    indent--;
//                    addIndentBlank(sb, indent);
//                    sb.append(current);
//                    break;
//                case ',':
//                    sb.append(current);
//                    if (last != '\\') {
//                        sb.append('\n');
//                        addIndentBlank(sb, indent);
//                    }
//                    break;
//                default:
//                    sb.append(current);
//            }
//        }
//        return sb.toString();
//    }

//    /**
//     * 添加space
//     *
//     * @param sb
//     * @param indent
//     * @author lizhgb
//     * Date 2015-10-14 上午10:38:04
//     */
//    private static void addIndentBlank(StringBuilder sb, int indent) {
//        for (int i = 0; i < indent; i++) {
//            sb.append("  ");
//        }
//    }
}
